home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / SATAN11.ZIP / SRC / MISC / RCMD.C < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-08  |  799 b   |  38 lines

  1. /* rcmd - remote command execution */
  2.  
  3. #include <sys/types.h>
  4. #include <stdio.h>
  5. #include <netdb.h>
  6.  
  7. main(argc, argv)
  8. int     argc;
  9. char  **argv;
  10. {
  11.     char    buffer[BUFSIZ];
  12.     struct servent *sp;
  13.     int     s;
  14.     int     n;
  15.  
  16.     if (argc != 4) {
  17.     fprintf(stderr, "usage: %s host user 'command'\n", argv[0]);
  18.     return (1);
  19.     }
  20.     if (geteuid()) {
  21.     fprintf(stderr, "test needs root privileges\n");
  22.     return (1);
  23.     }
  24.     sp = getservbyname("shell", "tcp");
  25.     if (sp == 0) {
  26.     fprintf(stderr, "unknown service: shell/tcp\n");
  27.     return (1);
  28.     }
  29.     s = rcmd(argv + 1, sp->s_port, argv[2], argv[2], argv[3], NULL);
  30.     if (s >= 0) {
  31.     while ((n = read(s, buffer, sizeof(buffer))) > 0)
  32.         write(1, buffer, n);
  33.     return (0);
  34.     } else {
  35.     return (1);
  36.     }
  37. }
  38.